This application relates to waking a computer system from a sleeping state.
Many IBM-compatible personal computer (PC) systems incorporate some form of power management scheme that allows the computer to xe2x80x9cshut downxe2x80x9d without losing system context. One such scheme is defined in the xe2x80x9cAdvanced Power Management Specificationxe2x80x9d (xe2x80x9cAPM Specificationxe2x80x9d), version 1.2, published by Intel Corporation and Microsoft Corporation in February 1996. The APM Specification allows three basic power management states: (1) an xe2x80x9cONxe2x80x9d state in which the computer operates at full power with full system context; (2) a xe2x80x9cSUSPENDxe2x80x9d state in which the computer shuts down but preserves system context and continues to consume power in reduced amounts; and (3) an xe2x80x9cOFFxe2x80x9d state in which the computer shuts down completely, erasing system context and consuming very little, if any, power. Power management under the APM Specification is human-directed power management, meaning that a human user usually decides which of the states the computer will enter at any given moment by activating one or more buttons or switches on the computer.
A later power management specification, the xe2x80x9cAdvanced Configuration and Power Interface Specificationxe2x80x9d (xe2x80x9cACPI Specificationxe2x80x9d), version 1.0b, published by Intel Corporation, Microsoft Corporation, and Toshiba K.K. in February 1999, vests primary control of power management in the computer""s operating system (OS). The ACPI Specification defines several sleeping states that involve varying levels of power consumption and system context preservation. Two of these states, known as the xe2x80x9cS4xe2x80x9d or xe2x80x9cSuspend-to-Diskxe2x80x9d state and the xe2x80x9cS5xe2x80x9d or xe2x80x9cSoft-Offxe2x80x9d state, cause the computer to undergo a full shut-down sequence and reduce power consumption to very small, stand-by levels. The xe2x80x9cS4xe2x80x9d state preserves only the OS configuration when shutting down the computer, storing configuration information to the computer""s hard drive. In the xe2x80x9cS5xe2x80x9d sleeping state, all system context is lost. In both of these states, power is removed from the computer""s processor and main memory, and only a very small amount of stand-by power is provided to the computer""s wake circuitry. Awaking from both the xe2x80x9cS4xe2x80x9d and the xe2x80x9cS5xe2x80x9d sleeping states requires the computer to undergo a full booting process.
The ACPI Specification does not allow the operating system to wake the computer from either the xe2x80x9cS4xe2x80x9d or xe2x80x9cS5xe2x80x9d state. As a result, the Microsoft Windows 98 operating system was designed to disable all wake events other than those generated by a xe2x80x9cSleepxe2x80x9d button or power switch on the computer""s front panel when the computer is in the xe2x80x9cS4xe2x80x9d or xe2x80x9cS5xe2x80x9d state. The ACPI Specification does not preclude responding to xe2x80x9cS4xe2x80x9d or xe2x80x9cS5xe2x80x9d wake events from other hardware components in the computer, such as signals received from other computers through a modem or network interface card (NIC), but the Windows 98 operating system does not accommodate other hardware-driven wake events.
The systems and techniques described here allow hardware-driven events to wake a computer system from a sleeping state from which the computer must undergo a full booting process. The invention is useful, for example, in supporting xe2x80x9cS4xe2x80x9d and xe2x80x9cS5xe2x80x9d wake events from PCI-compliant devices in an ACPI-compliant computer running Windows 98. Support of hardware-driven wake events allows remote waking of a computer system through events such as modem rings and queries from a network administrator.
The invention involves waking a computer from a sleeping state. The computer includes two signal lines on which wake events can occur, but the computer""s motherboard recognizes wake signals occurring on only one of these signal lines. Therefore, the computer includes a circuit that, in response a wake event on the signal line that is not recognized by the motherboard, delivers a wake signal over the signal line that is recognized by the motherboard.
Other embodiments and advantages will become apparent from the following description and from the claims.